// $ANTLR 3.4 C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g 2012-10-24 11:27:51

package PL.prac6;


import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings({"all", "warnings", "unchecked"})
public class GDLParser extends Parser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "ALLAVE", "ARROWSTYLE", "BARRAS", "BLANCO", "BORDERSTYLE", "CADENA", "CLLAVE", "COMILLAS", "DIGITO", "DOSPUNTOS", "EDGE", "ESPACIO", "GRAPH", "IDENT", "LABEL", "LETRA", "LINEA_COMENTARIO", "NODE", "NUEVA_LINEA", "SOURCE", "TARGET", "TIPOSARROW", "TIPOSBORDER", "TITLE"
    };

    public static final int EOF=-1;
    public static final int ALLAVE=4;
    public static final int ARROWSTYLE=5;
    public static final int BARRAS=6;
    public static final int BLANCO=7;
    public static final int BORDERSTYLE=8;
    public static final int CADENA=9;
    public static final int CLLAVE=10;
    public static final int COMILLAS=11;
    public static final int DIGITO=12;
    public static final int DOSPUNTOS=13;
    public static final int EDGE=14;
    public static final int ESPACIO=15;
    public static final int GRAPH=16;
    public static final int IDENT=17;
    public static final int LABEL=18;
    public static final int LETRA=19;
    public static final int LINEA_COMENTARIO=20;
    public static final int NODE=21;
    public static final int NUEVA_LINEA=22;
    public static final int SOURCE=23;
    public static final int TARGET=24;
    public static final int TIPOSARROW=25;
    public static final int TIPOSBORDER=26;
    public static final int TITLE=27;

    // delegates
    public Parser[] getDelegates() {
        return new Parser[] {};
    }

    // delegators


    public GDLParser(TokenStream input) {
        this(input, new RecognizerSharedState());
    }
    public GDLParser(TokenStream input, RecognizerSharedState state) {
        super(input, state);
    }

    public String[] getTokenNames() { return GDLParser.tokenNames; }
    public String getGrammarFileName() { return "C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g"; }


    //nodos
      boolean title = true;
      boolean label = true;
      boolean borderstyle = true;
    //aristas
      boolean source = true;
      boolean target = true;
      boolean arrowstyle = true;



    // $ANTLR start "entrada"
    // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:24:1: entrada : grafo EOF ;
    public final void entrada() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:24:8: ( grafo EOF )
            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:24:10: grafo EOF
            {
            pushFollow(FOLLOW_grafo_in_entrada49);
            grafo();

            state._fsp--;


            match(input,EOF,FOLLOW_EOF_in_entrada51); 

            }

        }
        catch (RecognitionException e) {
          throw e;}
         
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "entrada"



    // $ANTLR start "grafo"
    // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:25:1: grafo : GRAPH DOSPUNTOS ALLAVE ( arista | nodo )+ CLLAVE ;
    public final void grafo() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:25:6: ( GRAPH DOSPUNTOS ALLAVE ( arista | nodo )+ CLLAVE )
            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:25:8: GRAPH DOSPUNTOS ALLAVE ( arista | nodo )+ CLLAVE
            {
            match(input,GRAPH,FOLLOW_GRAPH_in_grafo57); 

            match(input,DOSPUNTOS,FOLLOW_DOSPUNTOS_in_grafo59); 

            match(input,ALLAVE,FOLLOW_ALLAVE_in_grafo61); 

            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:25:31: ( arista | nodo )+
            int cnt1=0;
            loop1:
            do {
                int alt1=3;
                int LA1_0 = input.LA(1);

                if ( (LA1_0==EDGE) ) {
                    alt1=1;
                }
                else if ( (LA1_0==NODE) ) {
                    alt1=2;
                }


                switch (alt1) {
            	case 1 :
            	    // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:25:32: arista
            	    {
            	    pushFollow(FOLLOW_arista_in_grafo64);
            	    arista();

            	    state._fsp--;


            	    }
            	    break;
            	case 2 :
            	    // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:25:40: nodo
            	    {
            	    pushFollow(FOLLOW_nodo_in_grafo67);
            	    nodo();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    if ( cnt1 >= 1 ) break loop1;
                        EarlyExitException eee =
                            new EarlyExitException(1, input);
                        throw eee;
                }
                cnt1++;
            } while (true);


            match(input,CLLAVE,FOLLOW_CLLAVE_in_grafo71); 

            }

        }
        catch (RecognitionException e) {
          throw e;}
         
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "grafo"



    // $ANTLR start "arista"
    // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:27:1: arista : EDGE DOSPUNTOS ALLAVE ( atrarista )+ CLLAVE ;
    public final void arista() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:27:7: ( EDGE DOSPUNTOS ALLAVE ( atrarista )+ CLLAVE )
            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:27:9: EDGE DOSPUNTOS ALLAVE ( atrarista )+ CLLAVE
            {
            arrowstyle = true; source = true; target = true;

            match(input,EDGE,FOLLOW_EDGE_in_arista80); 

            match(input,DOSPUNTOS,FOLLOW_DOSPUNTOS_in_arista82); 

            match(input,ALLAVE,FOLLOW_ALLAVE_in_arista84); 

            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:27:82: ( atrarista )+
            int cnt2=0;
            loop2:
            do {
                int alt2=2;
                int LA2_0 = input.LA(1);

                if ( (LA2_0==ARROWSTYLE||(LA2_0 >= SOURCE && LA2_0 <= TARGET)) ) {
                    alt2=1;
                }


                switch (alt2) {
            	case 1 :
            	    // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:27:82: atrarista
            	    {
            	    pushFollow(FOLLOW_atrarista_in_arista86);
            	    atrarista();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    if ( cnt2 >= 1 ) break loop2;
                        EarlyExitException eee =
                            new EarlyExitException(2, input);
                        throw eee;
                }
                cnt2++;
            } while (true);


            match(input,CLLAVE,FOLLOW_CLLAVE_in_arista89); 

            }

        }
        catch (RecognitionException e) {
          throw e;}
         
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "arista"



    // $ANTLR start "atrarista"
    // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:28:1: atrarista : ({...}? arrow |{...}? sour |{...}? tar ) ;
    public final void atrarista() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:28:10: ( ({...}? arrow |{...}? sour |{...}? tar ) )
            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:28:11: ({...}? arrow |{...}? sour |{...}? tar )
            {
            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:28:11: ({...}? arrow |{...}? sour |{...}? tar )
            int alt3=3;
            switch ( input.LA(1) ) {
            case ARROWSTYLE:
                {
                alt3=1;
                }
                break;
            case SOURCE:
                {
                alt3=2;
                }
                break;
            case TARGET:
                {
                alt3=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 3, 0, input);

                throw nvae;

            }

            switch (alt3) {
                case 1 :
                    // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:28:12: {...}? arrow
                    {
                    if ( !((arrowstyle)) ) {
                        throw new FailedPredicateException(input, "atrarista", "arrowstyle");
                    }

                    pushFollow(FOLLOW_arrow_in_atrarista97);
                    arrow();

                    state._fsp--;


                    }
                    break;
                case 2 :
                    // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:28:34: {...}? sour
                    {
                    if ( !((source)) ) {
                        throw new FailedPredicateException(input, "atrarista", "source");
                    }

                    pushFollow(FOLLOW_sour_in_atrarista103);
                    sour();

                    state._fsp--;


                    }
                    break;
                case 3 :
                    // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:28:51: {...}? tar
                    {
                    if ( !((target)) ) {
                        throw new FailedPredicateException(input, "atrarista", "target");
                    }

                    pushFollow(FOLLOW_tar_in_atrarista109);
                    tar();

                    state._fsp--;


                    }
                    break;

            }


            }

        }
        catch (RecognitionException e) {
          throw e;}
         
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "atrarista"



    // $ANTLR start "arrow"
    // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:29:1: arrow : ARROWSTYLE DOSPUNTOS TIPOSARROW ;
    public final void arrow() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:29:6: ( ARROWSTYLE DOSPUNTOS TIPOSARROW )
            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:29:8: ARROWSTYLE DOSPUNTOS TIPOSARROW
            {
            match(input,ARROWSTYLE,FOLLOW_ARROWSTYLE_in_arrow116); 

            match(input,DOSPUNTOS,FOLLOW_DOSPUNTOS_in_arrow118); 

            match(input,TIPOSARROW,FOLLOW_TIPOSARROW_in_arrow120); 

            arrowstyle = false;

            }

        }
        catch (RecognitionException e) {
          throw e;}
         
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "arrow"



    // $ANTLR start "sour"
    // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:30:1: sour : SOURCE DOSPUNTOS CADENA ;
    public final void sour() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:30:5: ( SOURCE DOSPUNTOS CADENA )
            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:30:7: SOURCE DOSPUNTOS CADENA
            {
            match(input,SOURCE,FOLLOW_SOURCE_in_sour128); 

            match(input,DOSPUNTOS,FOLLOW_DOSPUNTOS_in_sour130); 

            match(input,CADENA,FOLLOW_CADENA_in_sour132); 

            source = false;

            }

        }
        catch (RecognitionException e) {
          throw e;}
         
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "sour"



    // $ANTLR start "tar"
    // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:31:1: tar : TARGET DOSPUNTOS CADENA ;
    public final void tar() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:31:4: ( TARGET DOSPUNTOS CADENA )
            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:31:6: TARGET DOSPUNTOS CADENA
            {
            match(input,TARGET,FOLLOW_TARGET_in_tar140); 

            match(input,DOSPUNTOS,FOLLOW_DOSPUNTOS_in_tar142); 

            match(input,CADENA,FOLLOW_CADENA_in_tar144); 

            target = false;

            }

        }
        catch (RecognitionException e) {
          throw e;}
         
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "tar"



    // $ANTLR start "nodo"
    // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:33:1: nodo : NODE DOSPUNTOS ALLAVE ( atrnodo )+ CLLAVE ;
    public final void nodo() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:33:5: ( NODE DOSPUNTOS ALLAVE ( atrnodo )+ CLLAVE )
            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:33:7: NODE DOSPUNTOS ALLAVE ( atrnodo )+ CLLAVE
            {
            borderstyle = true; title = true; label = true;

            match(input,NODE,FOLLOW_NODE_in_nodo155); 

            match(input,DOSPUNTOS,FOLLOW_DOSPUNTOS_in_nodo157); 

            match(input,ALLAVE,FOLLOW_ALLAVE_in_nodo159); 

            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:33:79: ( atrnodo )+
            int cnt4=0;
            loop4:
            do {
                int alt4=2;
                int LA4_0 = input.LA(1);

                if ( (LA4_0==BORDERSTYLE||LA4_0==LABEL||LA4_0==TITLE) ) {
                    alt4=1;
                }


                switch (alt4) {
            	case 1 :
            	    // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:33:79: atrnodo
            	    {
            	    pushFollow(FOLLOW_atrnodo_in_nodo161);
            	    atrnodo();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    if ( cnt4 >= 1 ) break loop4;
                        EarlyExitException eee =
                            new EarlyExitException(4, input);
                        throw eee;
                }
                cnt4++;
            } while (true);


            match(input,CLLAVE,FOLLOW_CLLAVE_in_nodo164); 

            }

        }
        catch (RecognitionException e) {
          throw e;}
         
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "nodo"



    // $ANTLR start "atrnodo"
    // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:34:1: atrnodo : ({...}? tit |{...}? lab |{...}? border ) ;
    public final void atrnodo() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:34:8: ( ({...}? tit |{...}? lab |{...}? border ) )
            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:34:10: ({...}? tit |{...}? lab |{...}? border )
            {
            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:34:10: ({...}? tit |{...}? lab |{...}? border )
            int alt5=3;
            switch ( input.LA(1) ) {
            case TITLE:
                {
                alt5=1;
                }
                break;
            case LABEL:
                {
                alt5=2;
                }
                break;
            case BORDERSTYLE:
                {
                alt5=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 5, 0, input);

                throw nvae;

            }

            switch (alt5) {
                case 1 :
                    // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:34:11: {...}? tit
                    {
                    if ( !((title)) ) {
                        throw new FailedPredicateException(input, "atrnodo", "title");
                    }

                    pushFollow(FOLLOW_tit_in_atrnodo173);
                    tit();

                    state._fsp--;


                    }
                    break;
                case 2 :
                    // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:34:26: {...}? lab
                    {
                    if ( !((label)) ) {
                        throw new FailedPredicateException(input, "atrnodo", "label");
                    }

                    pushFollow(FOLLOW_lab_in_atrnodo179);
                    lab();

                    state._fsp--;


                    }
                    break;
                case 3 :
                    // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:34:41: {...}? border
                    {
                    if ( !((borderstyle)) ) {
                        throw new FailedPredicateException(input, "atrnodo", "borderstyle");
                    }

                    pushFollow(FOLLOW_border_in_atrnodo185);
                    border();

                    state._fsp--;


                    }
                    break;

            }


            }

        }
        catch (RecognitionException e) {
          throw e;}
         
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "atrnodo"



    // $ANTLR start "tit"
    // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:35:1: tit : TITLE DOSPUNTOS CADENA ;
    public final void tit() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:35:4: ( TITLE DOSPUNTOS CADENA )
            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:35:6: TITLE DOSPUNTOS CADENA
            {
            match(input,TITLE,FOLLOW_TITLE_in_tit192); 

            match(input,DOSPUNTOS,FOLLOW_DOSPUNTOS_in_tit194); 

            match(input,CADENA,FOLLOW_CADENA_in_tit196); 

            title = false;

            }

        }
        catch (RecognitionException e) {
          throw e;}
         
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "tit"



    // $ANTLR start "lab"
    // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:36:1: lab : LABEL DOSPUNTOS CADENA ;
    public final void lab() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:36:4: ( LABEL DOSPUNTOS CADENA )
            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:36:6: LABEL DOSPUNTOS CADENA
            {
            match(input,LABEL,FOLLOW_LABEL_in_lab204); 

            match(input,DOSPUNTOS,FOLLOW_DOSPUNTOS_in_lab206); 

            match(input,CADENA,FOLLOW_CADENA_in_lab208); 

            label = false;

            }

        }
        catch (RecognitionException e) {
          throw e;}
         
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "lab"



    // $ANTLR start "border"
    // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:37:1: border : BORDERSTYLE DOSPUNTOS TIPOSBORDER ;
    public final void border() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:37:7: ( BORDERSTYLE DOSPUNTOS TIPOSBORDER )
            // C:\\Users\\Jose\\workspace\\prac6\\src\\main\\java\\PL\\prac6\\GDLParser.g:37:9: BORDERSTYLE DOSPUNTOS TIPOSBORDER
            {
            match(input,BORDERSTYLE,FOLLOW_BORDERSTYLE_in_border216); 

            match(input,DOSPUNTOS,FOLLOW_DOSPUNTOS_in_border218); 

            match(input,TIPOSBORDER,FOLLOW_TIPOSBORDER_in_border220); 

            borderstyle = false;

            }

        }
        catch (RecognitionException e) {
          throw e;}
         
        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "border"

    // Delegated rules


 

    public static final BitSet FOLLOW_grafo_in_entrada49 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entrada51 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_GRAPH_in_grafo57 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_DOSPUNTOS_in_grafo59 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_ALLAVE_in_grafo61 = new BitSet(new long[]{0x0000000000204000L});
    public static final BitSet FOLLOW_arista_in_grafo64 = new BitSet(new long[]{0x0000000000204400L});
    public static final BitSet FOLLOW_nodo_in_grafo67 = new BitSet(new long[]{0x0000000000204400L});
    public static final BitSet FOLLOW_CLLAVE_in_grafo71 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_EDGE_in_arista80 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_DOSPUNTOS_in_arista82 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_ALLAVE_in_arista84 = new BitSet(new long[]{0x0000000001800020L});
    public static final BitSet FOLLOW_atrarista_in_arista86 = new BitSet(new long[]{0x0000000001800420L});
    public static final BitSet FOLLOW_CLLAVE_in_arista89 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_arrow_in_atrarista97 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_sour_in_atrarista103 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_tar_in_atrarista109 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ARROWSTYLE_in_arrow116 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_DOSPUNTOS_in_arrow118 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_TIPOSARROW_in_arrow120 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_SOURCE_in_sour128 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_DOSPUNTOS_in_sour130 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CADENA_in_sour132 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_TARGET_in_tar140 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_DOSPUNTOS_in_tar142 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CADENA_in_tar144 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NODE_in_nodo155 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_DOSPUNTOS_in_nodo157 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_ALLAVE_in_nodo159 = new BitSet(new long[]{0x0000000008040100L});
    public static final BitSet FOLLOW_atrnodo_in_nodo161 = new BitSet(new long[]{0x0000000008040500L});
    public static final BitSet FOLLOW_CLLAVE_in_nodo164 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_tit_in_atrnodo173 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_lab_in_atrnodo179 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_border_in_atrnodo185 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_TITLE_in_tit192 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_DOSPUNTOS_in_tit194 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CADENA_in_tit196 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_LABEL_in_lab204 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_DOSPUNTOS_in_lab206 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CADENA_in_lab208 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_BORDERSTYLE_in_border216 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_DOSPUNTOS_in_border218 = new BitSet(new long[]{0x0000000004000000L});
    public static final BitSet FOLLOW_TIPOSBORDER_in_border220 = new BitSet(new long[]{0x0000000000000002L});

}